using System;
using Volo.Abp.MultiTenancy;
using Volo.Abp.Domain.Entities;
using Volo.Abp.Application.Dtos;
using Joy.Erp.BasicArchives.Staff;

namespace Joy.Erp.BasicArchives.Customers
{
    public class CustomerDto : ExtensibleEntityDto<Guid>, IMultiTenant, IHasConcurrencyStamp
    {
        /// <summary>
        /// 所属租户
        /// </summary>
        public Guid? TenantId { get; set; }
        /// <summary>
        /// 客户类型
        /// </summary>
        public Guid? CustomerTypeId { get; set; }
        /// <summary>
        /// 客户类型
        /// </summary>
        public CustomerTypeDto CustomerType { get; set; }
        /// <summary>
        /// 客户名称
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 客户简称
        /// </summary>
        public string ShortName { get; set; }
        /// <summary>
        /// 联系人
        /// </summary>
        public string Contact { get; set; }
        /// <summary>
        /// 联系电话
        /// </summary>
        public string Phone { get; set; }
        /// <summary>
        /// 地址
        /// </summary>
        public string Address { get; set; }
        /// <summary>
        /// 负责人
        /// </summary>
        public Guid? OperatorId { get; set; }
        /// <summary>
        /// 负责人
        /// </summary>
        public OperatorDto Operator { get; set; }
        /// <summary>
        /// 是否启用
        /// </summary>
        public bool Enabled { get; set; }
        /// <summary>
        /// 编号
        /// </summary>
        public string Code { get; set; }
        /// <summary>
        /// 来源类型
        /// </summary>
        public string SourceType { get; set; }
        /// <summary>
        /// 来源主键
        /// </summary>
        public string SourceKey { get; set; }
        /// <summary>
        /// 来源时间
        /// </summary>
        public DateTime? SourceCreatedOn { get; set; }
        /// <summary>
        /// 是否删除
        /// </summary>
        public bool IsDeleted { get; set; }
        /// <summary>
        /// 删除人
        /// </summary>
        public Guid? DeleterId { get; set; }
        /// <summary>
        /// 删除时间
        /// </summary>
        public DateTime? DeletionTime { get; set; }
        /// <summary>
        /// 最后编辑时间
        /// </summary>
        public DateTime? LastModificationTime { get; set; }
        /// <summary>
        /// 最后编辑人
        /// </summary>
        public Guid? LastModifierId { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreationTime { get; set; }
        /// <summary>
        /// 创建人
        /// </summary>
        public Guid? CreatorId { get; set; }
        /// <summary>
        /// 修改锁
        /// </summary>
        public string ConcurrencyStamp { get; set; }
    }
}